package top.zywork.query;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * GoodsSeckillQuery查询对象类<br/>
 *
 * 创建于2019-07-26<br/>
 *
 * @author http://zywork.top 王振宇
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class GoodsSeckillQuery extends PageQuery {

    private static final long serialVersionUID = -9223372036388248789L;

    /**
	 * 秒杀编号
	 */
	private Long id;
	/**
	 * 秒杀编号(最小值)
	 */
	private Long idMin;
	/**
	 * 秒杀编号(最大值)
	 */
	private Long idMax;
	/**
	 * 店铺编号
	 */
	private Long shopId;
	/**
	 * 店铺编号(最小值)
	 */
	private Long shopIdMin;
	/**
	 * 店铺编号(最大值)
	 */
	private Long shopIdMax;
	/**
	 * 商品编号
	 */
	private Long goodsId;
	/**
	 * 商品编号(最小值)
	 */
	private Long goodsIdMin;
	/**
	 * 商品编号(最大值)
	 */
	private Long goodsIdMax;
	/**
	 * 商品SKU编号
	 */
	private Long goodsSkuId;
	/**
	 * 商品SKU编号(最小值)
	 */
	private Long goodsSkuIdMin;
	/**
	 * 商品SKU编号(最大值)
	 */
	private Long goodsSkuIdMax;
	/**
	 * 秒杀价格
	 */
	private BigDecimal seckillPrice;
	/**
	 * 秒杀价格(最小值)
	 */
	private BigDecimal seckillPriceMin;
	/**
	 * 秒杀价格(最大值)
	 */
	private BigDecimal seckillPriceMax;
	/**
	 * 秒杀总数量
	 */
	private Integer seckillTotal;
	/**
	 * 秒杀总数量(最小值)
	 */
	private Integer seckillTotalMin;
	/**
	 * 秒杀总数量(最大值)
	 */
	private Integer seckillTotalMax;
	/**
	 * 开始时间
	 */
	private Date beginTime;
	/**
	 * 开始时间(最小值)
	 */
	private Date beginTimeMin;
	/**
	 * 开始时间(最大值)
	 */
	private Date beginTimeMax;
	/**
	 * 结束时间
	 */
	private Date endTime;
	/**
	 * 结束时间(最小值)
	 */
	private Date endTimeMin;
	/**
	 * 结束时间(最大值)
	 */
	private Date endTimeMax;
	/**
	 * 秒杀结束时间
	 */
	private Date seckillEndTime;
	/**
	 * 秒杀结束时间(最小值)
	 */
	private Date seckillEndTimeMin;
	/**
	 * 秒杀结束时间(最大值)
	 */
	private Date seckillEndTimeMax;
	/**
	 * 版本号
	 */
	private Integer version;
	/**
	 * 版本号(最小值)
	 */
	private Integer versionMin;
	/**
	 * 版本号(最大值)
	 */
	private Integer versionMax;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 创建时间(最小值)
	 */
	private Date createTimeMin;
	/**
	 * 创建时间(最大值)
	 */
	private Date createTimeMax;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 更新时间(最小值)
	 */
	private Date updateTimeMin;
	/**
	 * 更新时间(最大值)
	 */
	private Date updateTimeMax;
	/**
	 * 是否激活
	 */
	private Byte isActive;
	/**
	 * 是否激活(最小值)
	 */
	private Byte isActiveMin;
	/**
	 * 是否激活(最大值)
	 */
	private Byte isActiveMax;
	
	/**
	 * 多个编(只用于单表，关联表不适用)
	 */
	private Long[] ids;
}
